1. Field of the Disclosure
This application generally relates to translation and other matters.
2. Background of the Disclosure
The computing power of hand-held (as well as wearable, implantable, and other) devices makes it possible to write programs of instructions for those devices that display information in various different ways. These can include text, drawings, still photos, animation, movies, and otherwise. Inclusion of text (or figures displaying text) can lead to the problem of a difference in meaning between what the programmer of the instructions intends that text to mean, and what the reader understands that text to mean. While this can occur for any written material, the problem is particularly acute when there is more than one (natural, human) language involved.
One known solution is to provide more than one variant of the text or figures displayed by the program (sometimes called an “application” or an “app”), such as an English version and a Spanish version. In such cases, the program could be written in a language most easily understood by the programmer, with values used by the program to display text or figures of meaning to the user. Some programs use a technique known as “localization”, in which a single program can provide text and figures in multiple languages, as well as settings that determine what language to display the text, is collected in a standardized data structure. These settings can be fixed by the programmer, fixed at an initialization time by the program, or alterable by users from time to time. Other programs simply embed the text or figures as fixed constants in the instruction code, which is initially easier for the programmer, but can lead to greater difficulty when modifying or expanding the program later.
It sometimes occurs that translation of a snippet of text from one language to another can be very difficult. Often, the process requires a skilled translator, which can be expensive. Some languages have grammatical irregularities or idioms, and some words in some languages can acquire idiomatic or slang meanings, that would elude nearly everyone except those who are designing or using the program. Similarly, some words can have distinct meanings in different contexts, or multiple words can have the same or very similar meanings, again depending on context. For a first example, the English word hot can have at least four different meanings, each represented by a different Spanish word. For a second example, the English word charge can refer to a bank charge, a cavalry charge, a criminal charge, or an electrical charge, among other possibilities. It is quite possible that, in another language, each of these meanings will have a different word to express it.
One known solution is for the programmer to provide a list of textual words or phrases for the translator to convert into the other language. While this method can generally achieve the purpose of substituting one word for another, or one phrase for another, it is subject to some drawbacks. For example, since the programmer often does not have a working knowledge of the target language, it can sometimes occur that small changes to the program result in substantial changes in meaning of the translated version, which is generally undesirable.
One known solution is for the translator to be provided with a copy of the program, and examine that program for places where words should be translated from the source language to the target language. While this method can generally achieve the purpose of translating with the intent of the programmer in mind, it is subject to some drawbacks. A first drawback is that many programmers are reluctant to release their program instructions to another party, which poses difficulties in communication from the programmer to the translator. Even if the programmer provides a list of words and phrases to translate, along with screen shots of where those words and phrases are displayed, it might fail to be apparent to the translator just which words match which screen shots, and what specific meaning is intended by those words. A second drawback is that many translators are not well versed in programming, nor do they necessarily have the hardware and software for a development environment that might be needed to test their changes and make a quality translation. A third drawback is that some text within the program might include error messages or status messages for the programmer, and should not be translated.
Each of these examples, as well as other possible considerations, can cause difficulty in aspects of translating a program from one language to another (or even from one regional dialect of a language to another), no matter what type of computer that translation is for (that is, whether that program is operating on a mainframe, a minicomputer, a desktop computer, a laptop computer, a tablet computer or display, a hand-held computer or portable media device or telephone, a wearable computing device, an implantable computing device, or otherwise).